package de.homer.persistence.user;

import de.homer.core.user.domain.User;
import de.homer.persistence.Repository;
import de.homer.persistence.exceptions.UserNotFoundException;

/**
 * A repository for users.
 * 
 * @author André Stannek
 * 
 */
public interface UserRepository extends Repository<User> {

	/**
	 * @param username
	 *            the username of the user to load
	 * @return the user belonging to the username
	 * @throws UserNotFoundException
	 *             if no {@link User} with the username was found in this
	 *             {@link UserRepository}.
	 */
	User getUser(String username) throws UserNotFoundException;
}
